HeisenBase: Understanding Database Performance in Haskell
نویسندگان
چکیده
This work aims to develop a performant relational database management system, HeisenBase, in the functional programming language Haskell. Much work has been published with the intent to create sensible interaction layers between the Haskell programming language and existing database software. We build the DBMS itself in Haskell in order to understand the benefits and drawbacks of a Haskell-based implementation. Our research has led to a proof-of-concept DBMS implemented in Haskell. This DBMS supports basic relational queries and joins over data tables. We present metrics investigating the unique performance characteristics of the system, and analysis of the technology we developed.
منابع مشابه
Region-Based Dynamic Separation for STM Haskell
We present a design and implementation of dynamic separation in STM Haskell. Dynamic separation is a recent approach to software transactional memory (STM) that achieves strongly-atomic semantics with performance comparable to that of a weakly-atomic STM. STM Haskell, a lazy-versioning STM library for Haskell, previously supported strongly-atomic semantics via static separation, and we have fou...
متن کاملA Database Coprocessor for Haskell
Relational database management systems (RDBMSs) provide the best understood and most carefully engineered query processing infrastructure available today. However, RDBMSs are often operated as plain stores that do little more than reproduce stored data items for further processing outside the database host, in the general-purpose programming language heap. One reason for this is that the aforem...
متن کاملScripting XML with Generic Haskell
A generic program is written once and works on values of many data types. Generic Haskell is a recent extension of the functional programming language Haskell that supports generic programming. This paper discusses how Generic Haskell can be used to implement XML tools whose behaviour depends on the DTD or Schema of the input XML document. Example tools include XML editors, databases, and compr...
متن کاملHaskell Boards the Ferry - Database-Supported Program Execution for Haskell
Relational database management systems can be used as a coprocessor for general-purpose programming languages, especially for those program fragments that carry out data-intensive and data-parallel computations. In this paper we present a Haskell library for databasesupported program execution. Data-intensive and data-parallel computations are expressed using familiar combinators from the stand...
متن کاملHiDb: A Haskell In-Memory Relational Database
We describe our experience implementing an in-memory relational database in Haskell that supports the standard CRUD (create, read, update, delete) operations while providing the requisite ACID (atomicity, consistency, isolation, durability) guarantees. We rely on Haskell’s STM module to provide atomicity and isolation. We use a combination of STM, Haskell’s type system, and dynamic type-checkin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013